import App from './App'
import Vue from 'vue'
// 多语言
import messages from './locale/index'
import StatusPage from './components/StatusPage';
import bgImage from './components/bgImage.vue'
import globalVue from './js/globalVue';
import store from './js/store';
import topNavigation from './components/topNavigation.vue'

let i18nConfig = {
	locale: uni.getLocale(),
	messages
}
// 公共样式
// import "./styles/common-style.scss"

// #ifndef VUE3
// import Vue from 'vue'
// 引入全局uView
import uView from '@/uni_modules/uview-ui'
// 引入多语言
import VueI18n from 'vue-i18n'
Vue.use(uView)
Vue.use(VueI18n)
const i18n = new VueI18n(i18nConfig)
/**
 * utils
 */
import UTILS from "@/common/index"
/**
 * 配置相关common/config.js
 */

/**
 * 工具相关common/tools.js
 */
Vue.prototype.$tools = UTILS.TOOLS
/**
 * 图片相关common/img.js
 */
Vue.prototype.$img = UTILS.img

/**
 * API
 */


Vue.config.productionTip = false

// 全局挂在bus
Vue.prototype.bus = new Vue();

App.mpType = 'app'

const app = new Vue({
	i18n,
	store,
	...App
})

// #endif
Vue.use(globalVue); // 全局方法、computed 等
Vue.component('status-page', StatusPage);
Vue.component('bg-image', bgImage);
Vue.component('topNavigation', topNavigation);
// #ifdef MP
// 引入uView对小程序分享的mixin封装
const mpShare = require('@/uni_modules/uview-ui/libs/mixin/mpShare.js')
Vue.mixin(mpShare)
// #endif

// #ifdef VUE3
import {
	createSSRApp
} from 'vue'
export function createApp() {
	const app = createSSRApp(App)
	return {
		app
	}
}
// #endif



// 引入请求封装，将app参数传递到配置中
require('@/common/config/request.js')(app)
app.$mount()